package com.cww.study.utils;






import com.cww.study.exception.*;
import org.apache.commons.lang3.StringUtils;

/**
 * token缓存工具类
 *
 * @author changxu13
 * @date 2021/8/25 12:47
 */
public class TokenUtil {


    private static final ThreadLocal<String> TOKEN_CACHE = new ThreadLocal<>();

    /**
     * 获取token
     *
     * @return token信息
     */
    public static String getToken() {
        String token = TOKEN_CACHE.get();
        if (StringUtils.isEmpty(token)) {
            throw new CustomClException("403", "登录信息失效");
        }
        return token;
    }

    /**
     * 设置token
     *
     * @param token token信息
     */
    public static void setToken(String token) {
        if (StringUtils.isEmpty(token)) {
            return;
        }
        TOKEN_CACHE.set(token);
    }

    /**
     * 清除token缓存,不然容易发生内存泄露问题
     */
    public static void remove() {
        TOKEN_CACHE.remove();
    }
}
